<?php

class Profile extends CActiveRecord
{
    public $userInfo;

	public static function model($className=__CLASS__)
	{
		return parent::model($className);
	}

	public function tableName()
	{
		return 'profile';
	}

	public function rules()
	{
		return array(
			array('firstName, lastName, sex', 'required', 'message'=>'Это поле обязательно для заполнения.'),
			array('userId, goalId, sex', 'numerical', 'integerOnly'=>true),
			array('firstName, lastName', 'length', 'max'=>128, 'message'=>'Слишком длинное слово'),
			array('patronymic', 'length', 'max'=>96, 'message'=>'Слишком длинное слово'),
			array('status', 'length', 'max'=>460, 'message'=>'Слишком длинное слово'),
            array('firstName, lastName', 'match', 'pattern'=>'/^[a-z,A-Z,0-9,а-я,ырстушщіїєґ,А-ЯІЇЄҐ, ,\-,\_]+$/s', 'message'=>'Имя и фамилия могут содержать только буквы латинского или русского алфавита, цифры или пробел.'),
			array('id, userId, firstName, lastName, patronymic, birthday, status, goalId, interests, about, sex', 'safe', 'on'=>'search'),
		);
	}

	public function relations()
	{
		return array(
			'goal'=>array(self::HAS_ONE, 'Goal', 'profileId'),
			'user'=>array(self::BELONGS_TO, 'User', 'userId'),
		);
	}

	public function attributeLabels()
	{
		return array(
			'id'=>'ID',
			'userId'=>'Айди пользователя',
			'firstName'=>'Имя',
			'lastName'=>'Фамилия',
			'patronymic'=>'Отчество',
			'birthday'=>'День рождения',
			'status'=>'Статус',
			'goalId'=>'Цель',
			'interests'=>'Интересы',
			'about'=>'О себе',
			'sex'=>'Пол',
		);
	}

	public function search()
	{
		$criteria=new CDbCriteria;

		$criteria->compare('id',$this->id);
		$criteria->compare('userId',$this->userId);
		$criteria->compare('firstName',$this->firstName,true);
		$criteria->compare('lastName',$this->lastName,true);
		$criteria->compare('patronymic',$this->patronymic,true);
		$criteria->compare('birthday',$this->birthday,true);
		$criteria->compare('status',$this->status,true);
		$criteria->compare('goalId',$this->goalId);
		$criteria->compare('interests',$this->interests,true);
		$criteria->compare('about',$this->about,true);
		$criteria->compare('sex',$this->sex);

		return new CActiveDataProvider($this, array(
			'criteria'=>$criteria,
		));
	}
}